1. Field of the Invention
The present invention generally relates to a communication apparatus of a network. More specifically, the present invention relates to a transfer destination determining process apparatus for selecting an optimum transfer path where a plurality of datagram transfer paths are provided.
2. Description of the Related Art
Conventionally, apparatuses for connecting plural networks to each other, such as LANs to repeat datagram data, bridges and routers are known in this field.
The bridge apparatus connect these plural networks in the data link layer (especially, media access sub-layer: MAC) in the open system interconnection (OSI) reference model ruled in the International Organization for Standard (ISO). And the router apparatus connect these plural networks to each other in the network layer corresponding to the upper grade layer as to the data link layer.
Currently, since the Internet is popularized, strong demands are rapidly made so as to perform the Internet communications in more broad-range networks.
FIG. 12 is a block diagram for indicating a structural example of a broad-range Internet network.
The broad-range Internet network shown in FIG. 12 is arranged by a large number of enterprise-used LANs as subscriber networks, provider networks, and a core network. This core network is used to connect these networks to each other in order to transfer IP datagrams sent from users to destinations over medium/long distances.
The core network shown in this drawing is operated by mainly a large-scaled public communication industry (carrier) and so on. This core network constitutes a major portion of the Internet in such a broad-range network and carrying Internet traffics concentrated from domestic/foreign regions and connecting enterprise-used networks and provider networks.
Then, an edge apparatus is located at a relay point to connect an enterprise-used network, or a provider network with the core network and is arranged at an input/output part with respect to the core network.
The core network is constituted by a plurality of communication apparatuses, for instance, a high speed router, or an ATM switching apparatus (ATM-SW) when an ATM transfer operation is employed.
Also, in a core network a data communication is executed that when a IP datagram is received, a communication path from an edge apparatus of a data source to an edge apparatus of a data destination is determined, and the data is transferred by each repeating communication apparatus to a proper transfer destination.
In a repeating communication apparatus, it is required to judge a transfer destination for each received datagram via a network to transfer based upon routing table information for determining a transfer destination, which is previously provided in the apparatus.
In general, this judging process operation is executed based upon an address indicated by an address field contained in the reception datagram data.
For instance, in a router, a judgment is made with reference to a destination IP address of received datagram. Conventionally, a transfer destination with respect to a destination IP address is uniquely determined.
However, it may be expected in the near future, in order to provide high graded services, plural paths in which datagrams are transferred are provided, and a transfer path is selected depending upon a load of a network in each of network appliances.
Then, a desirable transfer destination must be flexibly determined without being concentrated to a specific route provided in a network in order to equalize traffics.
Also, in a conventional client/server system containing a plurality of servers capable of executing actual process operations in response to requests issued form clients, such a load distributing apparatus has been proposed. That is, this load distributing apparatus is arranged at a pre-stage of these servers, and distributes the requests issued from the clients in accordance with loads of the servers to be transferred. As one of such load distributing systems, Japanese Laid-open Patent Application No. Hei-10-19862 discloses the server apparatus. Referring now to drawings, this conventional technique will be explained.
FIG. 14 is an explanatory diagram of a client/server system used to explain the conventional technique.
FIG. 14A represents a server arrangement constituted by a front-end server (FEP), and also a plurality of back-end servers (BEPs). The front-end server receives a request issued from a client, and distributes the received request to a plurality of servers provided at a post stage thereof. The plural back-end servers (BEP) perform actual process operations in response to the request sent from the client. The above-explained FEP server determines a transfer destination node of the request in accordance with a sort of requested service, and transfers the request to a properly determined BEP, taking account of a load distribution.
In this case, a flow of an IP datagram will be referred to as a xe2x80x9cflowxe2x80x9d. The respective flows are discriminated from each other based upon a transmission source, a transmission destination IP (Internet protocol) address, a protocol, a TCP/UDP port number, and the like.
Then, when a desirable transfer destination is determined, this client/server system is controlled in such a manner that this desirable transfer destination can be uniquely determined in the unit of such a flow by registering/managing the BEP node identifier information equal to the transfer destination with respect to the transmission source IP address and the transmission source port number within an IP header, which is such information used to uniquely discriminate the flow in the IPv4 datagram.
FIG. 14B indicates an allocated transfer route list on which transfer routes of requests allocated to the respective clients are recorded. In this list, there are provided a service identifier using a port number as a destination of a request, another service identifier using a source IP address and a port number of a source port, and further a transfer destination BEP node identifier using an IP address of a BEP node in a transfer destination.
Then, when the client sends the request to the FEP server, while using as a key such a pair of the source IP address/source port number which corresponds to the identifier of the request-issuing client and the destination port number of the layer 4, the identifier of the BEP node of the allocated transfer destination is searched by employing the allocated route list. Thus the BEP node of the transfer destination i s determined.
In the conventional system described in Japanese Laid-open Patent Application No. Hei-10-198642, since the combination between the transfer destination information and the IP address/port number of the layer 4, which correspond to the information used to uniquely discriminate the desirable flow is registered into the table, the servers of the transfer destinations are allocated, so that the load distribution can be realized.
However, in accordance with this conventional system, the load distribution can be hardly realized in the case that the network routes are allocated in the router of the core network, and/or a total number of clients/servers capable of providing the services is increased.
This is because all of the information about the transfer destinations have been registered into the table, and the transfer destination information corresponds to such information capable of uniquely discriminating the desirable flow. As a result, when a total number of flows to be discriminated is increased, the memory capacity is largely increased. Also, the time duration required to retrieve as to whether or not the transfer destination information has already been registered into the table is increased.
In accordance with the present invention, in order to perform a load distribution in a network level, when a plurality of transfer destination subjects are present as a transfer destination of a datagram, while the same collected flows are transferred to the same transfer destinations, the transfer destinations are allocated with respect to each of the collected flows, so that a load distribution can be realized.
At this time, even when it may be predicted that a large number of flows are produced as in an apparatus employed in a core network, the present invention has an object to conduct such a system capable of establishing a relative relationship between flows and transfer destinations in a high speed with a small memory capacity so as to realize a load distribution process operation.
While utilizing only a portion of information capable of discriminating a flow contained in a header of a datagram, a transfer destination determining process apparatus according to the present invention determines either a transfer destination or a route (path) to the transfer destination. As a result, this transfer destination determining process apparatus determines the desirable transfer destination with respect to each of the flows.
In other words, in the transfer destination determining process apparatus of the present invention, the transfer destination routes are stored into a table capable of relating the flows to the transfer destination routes with respect to each of the collected flows which are determined by a portion of information capable of discriminating these flows. The necessary memory capacity may be reduced. It should be understood in this specification that a xe2x80x9ccollected flowxe2x80x9d is equal to a set of datagrams having the same qualities, which are transferred to the same edge apparatus. Depending upon operation/management system of a core network, the unit of this flow is set by employing grouping information, for example, a specific user unit, or a communication service level, namely information used to group predetermined collected flows.
For instance, as one concrete setting example, a collected flow may be made of a set of such datagrams having the same qualities and transferred to the same edge apparatus. It should be understood that even when traffics used to transfer datagrams to the same edge apparatus are employed in order to improve the flexibility of traffic controls, such a control is available to allocate these traffics to a plurality of lines by setting a plurality of collected flows.
Concretely speaking, subdivisions of these flows may be set in correspondence with operation policy of a carrier. In general, the following relationship may be established; a total number of flows descriminatable based upon an IP address and a QOS request greater than a total number of collected flows greater than same QOS and same edge apparatus.
A transfer destination determining process apparatus, according to the present invention, is featured by comprising:
means for judging as to whether a transfer destination of a received IP datagram is equal to a single path for uniquely setting the transfer destination of said received IP datagram, or a multi-path for determining a proper transfer destination from a plurality of transfer destinations based upon address information of the received IP datagram;
means for determining a transfer destination of a multi-path with respect to this datagram in such a manner that when this transfer destination of the multi-path is determined, a collected flow corresponding to a unit for determining the transfer destination is judged by using a combination with flow discrimination information which reflects QOS information of this datagram; and the transfer destination is determined by referring to a collected flow table for registering/storing paths which should be transferred in response to sorts of these collected flows; and
means for determining a transfer destination in such a way that when information corresponding to this collected flow is not yet registered into the collected flow table, setting order of the respective paths and also traffic information are read from a multi-path table which stores therein to all of plural transfer paths for constituting the respective multi-paths; one transfer path is determined from the read information; the datagram is transferred based upon this determined one transfer path and furthermore a transfer path corresponding to this determined collected flow is registered into a collected flow table; and as to collected flows which are subsequently received, transfer destinations thereof are determined with reference to the collected flow table.